<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui">
<h:head>
	<title>Bienvenido</title>
</h:head>
<h:body>
	<h:form id="form">
		<p:growl id="messages" />
		<p:breadCrumb>
			<p:menuitem value="Menu" url="/menuAdmin.jsf" />
			<p:menuitem value="Usuarios" url="/usuarios.jsf" />
			<p:menuitem value="Salas" url="/salas.jsf" />
			<p:menuitem value="Reservar" url="/reservas.jsf" />
			<p:menuitem value="Logout" action="#{loginManagedBean.logout()}" />
		</p:breadCrumb>
	</h:form>
	<h:form id="miform">
		<p:commandButton value="Desplegar Usuarios" process="@this"
			update="lista" />
		<br />
		<p:growl id="gMessages" widgetVar="wGMessages" showDetail="true"
			for="gfMessages" />
		<h:panelGroup id="botones">
			<p:commandButton value="Crear Usuario"
				actionListener="#{usuarioManagedBean.limpiar}"
				oncomplete="PF('dAgregarUsuario').show();" />
			<!--  LLama al widgetVar -->
		</h:panelGroup>

		<!-- Listar Usuarios -->
		<h:panelGroup id="lista">
			<p:dataTable id="usuarios" style="margin-bottom:40px"
				value="#{usuarioManagedBean.listar()}" var="usuario"
				rendered="#{usuarioManagedBean.listar().size() gt 0}">
				<f:facet name="header">
            Lista Usuarios
        </f:facet>
				<p:column headerText="Username" sortBy="#{usuario.username}">
					<h:outputText value="#{usuario.username}" />
				</p:column>
				<p:column headerText="Nombre" sortBy="#{usuario.nombre}">
					<h:outputText value="#{usuario.nombre}" />
				</p:column>

				<p:column headerText="Tipo Usuario" sortBy="#{usuario.tipoUsuario}">
					<h:outputText value="Administrador"
						rendered="#{usuario.tipoUsuario}" />
					<h:outputText value="Normal" rendered="#{!usuario.tipoUsuario}" />
				</p:column>

				<p:column headerText="Estado" sortBy="#{usuario.estado}">
					<h:outputText value="Activo" rendered="#{usuario.estado}" />
					<h:outputText value="Inactivo" rendered="#{!usuario.estado}" />
				</p:column>

				<p:commandButton value="Crear Usuario"
					action="#{usuarioManagedBean.limpiar()}"
					oncomplete="PF('dAgregarUsuario').show();" />

				<p:column headerText="Editar">
					<p:commandButton
						action="#{usuarioManagedBean.actualizarUsuario(usuario)}"
						oncomplete="PF('dModificarUsuario').show();" value="Editar"></p:commandButton>
				</p:column>
				<p:column headerText="eliminar">
					<p:growl id="growl" sticky="true" />
					<p:commandButton value="Eliminar"
						action="#{usuarioManagedBean.borrar(usuario)}" update=":miform">
						<p:confirm header="Confirmar" message="Esta seguro de eliminar?"
							icon="ui-icon-alert" />
					</p:commandButton>
					<p:confirmDialog style=" top: 180px; left: 300px; width: 530px;"
						global="true" showEffect="fade" hideEffect="explode">
						<p:commandButton value="Si" type="button"
							styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
						<p:commandButton value="No" type="button"
							styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
					</p:confirmDialog>
				</p:column>
			</p:dataTable>
		</h:panelGroup>
	</h:form>
	<!-- Agregar Usuario ajax -->
	<h:form id="fAgregarUsuario">
		<p:dialog position="top" header="Ingresar Usuario"
			widgetVar="dAgregarUsuario" id="dIdAgregarUsuario"
			showEffect="explode" hideEffect="bounce" height="370">
			<p:panel id="pCrearUsuario">

				<p:panelGrid columns="2" cellpadding="5">
					<h:outputLabel for="username" value="Username:"
						style="font-weight:bold" />
					<p:inputText value="#{usuarioManagedBean.usuario.username}"
						id="username" required="true" />
					<h:outputLabel value="Nombre:" style="font-weight:bold" />
					<p:inputText value="#{usuarioManagedBean.usuario.nombre}"
						id="nombre" required="true" />
					<h:outputLabel value="Password:" style="font-weight:bold" />
					<p:password match="password2"
						value="#{usuarioManagedBean.usuario.password}" id="password"
						required="true" />
					<h:outputLabel value="Reingresar Password : "
						style="font-weight:bold" />
					<p:password id="password2" required="true" />
					<h:outputLabel value="Tipo Usuario" />
					<p:selectOneRadio required="true"
						value="#{usuarioManagedBean.usuario.tipoUsuario}">
						<f:selectItem itemValue="True" itemLabel="Administrador" />
						<f:selectItem itemValue="False" itemLabel="Normal" />
					</p:selectOneRadio>
					<h:outputLabel value="Estado" />
					<p:selectOneRadio required="true"
						value="#{usuarioManagedBean.usuario.estado}">
						<f:selectItem itemValue="True" itemLabel="Activo" />
						<f:selectItem itemValue="False" itemLabel="Inactivo" />
					</p:selectOneRadio>
					<p:commandButton actionListener="#{usuarioManagedBean.agregar()}"
						value="Agregar"
						update=":miform:lista pCrearUsuario :miform:gMessages" />
				</p:panelGrid>
			</p:panel>
		</p:dialog>
	</h:form>

	<!-- Modificar Usuario Ajax -->
	<h:form id="fModificarUsuario">
		<p:dialog position="top" header="Modificar Usuario"
			widgetVar="dModificarUsuario" id="dIdModificarUsuario"
			showEffect="explode" hideEffect="bounce" height="370">
			<p:panel id="pModificarUsuario">
				<p:growl id="growl" sticky="true" />
				<p:panelGrid columns="2" cellpadding="5">

					<h:outputLabel value="Nombre Usuario:" style="font-weight:bold" />
					<p:inputText disabled="true"
						value="#{usuarioManagedBean.usuario.username}" id="username"
						required="true" />

					<h:outputLabel value="Nombres:" style="font-weight:bold" />
					<p:inputText value="#{usuarioManagedBean.usuario.nombre}"
						id="nombres" required="true" />

					<h:outputLabel value="Password:" style="font-weight:bold" />
					<p:password match="password2"
						value="#{usuarioManagedBean.usuario.password}" id="password"
						required="true" />

					<h:outputLabel value="Reingresar Password : "
						style="font-weight:bold" />
					<p:password id="password2" required="true" />

					<h:outputLabel value="Tipo Usuario" />
					<p:selectOneRadio required="true"
						value="#{usuarioManagedBean.usuario.tipoUsuario}">
						<f:selectItem itemValue="True" itemLabel="Administrador" />
						<f:selectItem itemValue="False" itemLabel="Normal" />
					</p:selectOneRadio>

					<h:outputLabel value="Estado" />
					<p:selectOneRadio required="true"
						value="#{usuarioManagedBean.usuario.estado}">
						<f:selectItem itemValue="True" itemLabel="Activo" />
						<f:selectItem itemValue="False" itemLabel="Inactivo" />
					</p:selectOneRadio>
				</p:panelGrid>
				<p:commandButton
					update=":miform:lista pModificarUsuario :miform:gMessages"
					actionListener="#{usuarioManagedBean.actualizar()}" value="Aceptar" />
			</p:panel>
		</p:dialog>
	</h:form>

	<!-- Eliminar Usuario Ajax -->
</h:body>

</html>